Network repository auto sync wireless handset

ABSTRACT

According to the invention, one embodiment of a method and program of synchronizing an end device with a data repository is disclosed. In another embodiment, a method for synchronizing data, both multimedia and non-multimedia, with a repository is provided. In an exemplary embodiment, a method for synchronizing data with multiple repositories is provided. In another embodiment a software program to implement said methods is provided.

BACKGROUND OF THE INVENTION

This invention relates generally to the field of data storage systems.More specifically, the invention relates to methods and systems forsynchronizing end devices with one or more data stores and/or other enddevices.

The use of data stores by individuals and other entities has become morewidespread in recent years given increases in data access speeds anddecreases in costs of storage capacity. For example, services such asIBackup™, My Docs Online™, StreamLoad™ and Xdrive™ offer inexpensivestorage of data through the use of any internet connection. Also,internet service providers such as Comcast™ provide internet accessibledata storage to customers who purchase internet access services.

Meanwhile, the number of end devices that may be connected with thesesystems has increased dramatically due to high user demand for newfunctionality and lower manufacturing costs. These end devices includecellular phones, personal data assistants, portable music players,computers, television service receivers, and video game consoles such asthe Microsoft Xbox™, Xbox 360™ and Sony PlayStation 2™.

Currently, only limited methods exist for synchronizing end devices todata stores. The types of network connectivity employed to synchronizeend devices to the data stores is limited, as is the type of data thatmay be synchronized. For example, a Blackberry™ handheld computer may,in certain circumstances, only be able to communicate over proprietarynetworks, and then only be able to synchronize e-mail, calendar andcontact information. As another example, cellular phones may only beable to synchronize to data held in a data store maintained by thecellular phone service provider, but not to data on an internetaccessible data store. Additionally, certain data repositories are onlyconfigured to store certain data types, meaning that end devices mustcomplete multiple, separate, and often user initiated synchronizingoperations to synchronize multiple data types with multiplerepositories.

Many of these methods also require user intervention to initiatesynchronization. These methods may require that a user instruct an enddevice to initiate synchronization rather than conduct routine automaticsynchronization whenever network connectivity is present. Likewise,other methods presently known in the art may allow for automaticsynchronization of certain data types on certain networks, but requirephysical docking and/or user initiation of synchronization of remainingdata types.

Hence, there is a need for methods that allow for more complete andautomatic synchronization of end devices with data stores and/or otherend devices.

BRIEF SUMMARY OF THE INVENTION

In one embodiment the invention provides a method for synchronizing anend device. The method may consist of storing data on the end device,where data consists of multimedia data and non-multimedia data. Themethod may further consist of connecting the end device with a datarepository. The method may compare data on the end device with data onthe data repository to determine if any of the data is more recent onthe end device or the data repository. The method may also provide aportion of the data from the end device to the data repository, or fromthe data repository to the end device, possibly based on the comparisonof the data.

In such an embodiment, the end device may, merely by way of example, bea cellular phone, a personal data assistant, a portable music player, ahandheld computer, a notebook computer, a laptop computer, a desktopcomputer, a video game console, a cable television receiver, and/or asatellite television receiver. In some embodiments, connecting the enddevice with the data repository may consist of the end device entering awireless phone network, the end device entering a wireless local areanetwork, the end device entering a wireless wide area network, the enddevice connecting with a wired phone network, the end device connectingwith a wired local area network, the end device connecting with a wiredwide are network, the end device connecting to a cable televisionsystem, and/or the end device connecting with a satellite televisionsystem.

In one aspect, a portion of the data may be data header information.Data header information may, merely by way of example, be an emailheader, a file name, a file size, a file type, and/or other descriptiveinformation. In another aspect of the invention, multimedia data mayinclude various file types, including, but not limited to, a JointPhotographic Experts Group (“JPG”) file, a Graphic Interchange Format(“GIF”) file, a Motion Picture Expert Group (“MPG”) file, an Audio VideoInterleave (“AVI”) file, a Motion Picture Expert Group Audio Layer 3(“MP3”) file, a Motion Picture Expert Group 4 Audio (“M4A”) file, aMotion Picture Expert Group 4 Audio Protected (“M4P”) file, and/or aWindows Media Audio (“WMA”) file. Non-multimedia data may, merely by wayof example, consist of calendar appointments, contacts, text, email,and/or settings.

In another embodiment, the method may further consist of registeringwith the data repository. Registering with the data repository maypossibly consist of purchasing a service plan from a service provider,opening an email account with a service provider, and/or storing data atthe data repository. In another embodiment of the invention, the methodmay further consist of accessing the data repository with a web browseron an end device.

In one particular aspect, the comparison of data on the end device withdata on the data repository may occur periodically. In another aspect,the comparison of data on the end device with data on the datarepository may occur with or without user intervention.

In some embodiments of the invention, the data repository may beconnected with a communication subsystem and further connected with atranslation subsystem. The communication subsystem may directcommunication with the data repository. The translation subsystem maytranslate communication with the data repository.

In another embodiment of the invention, a method for automaticallysynchronizing an end device with multiple data repositories is provided.The method may consist of storing data on an end device. The data mayconsist of multimedia data and non-multimedia data. The method may alsoconsist of connecting the end device with two data repositories.Furthermore, the method may consist of comparing data on the end devicewith data on the two repositories to determine if the data is morerecent on the end device or on either of the two data repositories. Themethod may also consist of providing data from the end device to one ofthe data repositories, or from one or both of the data repositories tothe end device, possibly based on the comparison of the data.

In one aspect, connecting the end device with two data repositories mayconsist of connecting the end device with a first data repository,connecting the first data repository with a second data repository, andconnecting the end device with the second data repository through theconnection made between the first data repository and the second datarepository. In another aspect, connecting the end device with the seconddata repository through the connection made between the first datarepository and the second data repository may consist of a communicationbetween the end device and the first data repository, a communicationbetween the first data repository and the second data repository basedon the communication between the end device and the first datarepository, and a communication between the first data repository andthe end device based on the communication between the first datarepository and the second data repository.

In some embodiment of the invention, a method for synchronizing at leasttwo end devices is provided. The method may consist of connecting both afirst and a second end device with a data repository. The method mayfurther store data on the first end device. This data may consist ofmultimedia data and non-multimedia data. The method may provide at leasta portion of the data from the first end device to the data repository.This data may be stored on the first data repository. The first data mayprovide at least a portion of the data from the data repository to thesecond end device. The method may then store on the second end device atleast a portion of the data provided by the data repository.

In one aspect of these embodiments, the method may provide at least aportion of the data from the first end device to the data repositorybecause the data is new to the first end device. In another aspect ofthese embodiments, the method may provide at least a portion of the datafrom the data repository to the second end device because the datastored on the data repository is new to the data repository. In anotheraspect, the method may provide at least a portion of the data from thedata repository to the second end device based at least in part upon acomparison of the data stored on the data repository and the data storedon the second end device.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is described in conjunction with the appendedfigures:

FIG. 1 is an example of a system capable of performing one embodiment ofthe invention using a single data repository.

FIG. 2 is an example of a system capable of performing anotherembodiment of the invention using multiple data repositories.

FIG. 3 is an example of a computer system capable of implementing themethods, or a particular portion of the methods, of the presentinvention.

FIG. 4 shows one possible method of the invention.

FIG. 5 shows one possible composition of data within the invention.

FIG. 6 shows another possible method of the invention

DETAILED DESCRIPTION OF THE INVENTION

One embodiment of the invention provides a method for synchronizing anend device. In such an embodiment, the method may consist of storingdata on an end device, where the data may consist of multimedia data andnon-multimedia data. The method may further consist of connecting theend device with a data repository and comparing data on the end devicewith data on the data repository to determine if the data is more recenton the end device or on the data repository. The method may possiblycompare only a portion of any data on the end device to data on the datarepository. Merely by way of example, the method may only comparemetadata or characteristics of specific data. The method may thenprovide data from the end device to the data repository or from the datarepository, to the end device based upon the comparison of the data.

In some embodiments, the method may connect the end device with at leasttwo data repositories. The end devices may connect directly orindirectly with any one data repositories. Merely by way of example, anindirect connection with a data repository may be made through multiplenetworks or possibly through another data repository. Each datarepository may store certain types of data. Merely by way of example,some data repositories may store only: multimedia data; non-multimediadata; image files; video files; audio files; contacts; calendarappointments; e-mail; or some subset of the aforementioned data. Thismay be because the provider of the data repository only offers servicesrelated to particular end devices which only concern themselves withcertain data types. Numerous other reasons may also require or permitlimiting of the types of data stored on a certain repository. The methodmay compare data on the end device with data on all connected datarepositories to determine if the data is more recent on the end deviceor on any of the data repositories. In one aspect, the method mayprovide data from the end device to any one of the data repositories orfrom at least one data repository to the end device based upon thecomparison of the data.

In some embodiments, a method for synchronizing multiple end deviceswith one or more data repositories is provided. The method may connectmultiple end devices with one or more data repositories. The method maymake an initial comparison of the data stored on the data repositoriesand the data stored on the end devices. The method may then provide datafrom any of the data repositories or end devices to any of the enddevices or data repositories, based at least in part on the comparisonof the data. In some embodiments only a portion of the data not presenton either the end devices or the data repositories may be provided.Merely by way of example, communication logs of calls made with a firstend device that is a cellular phone may be provided in full to aparticular data repository, but only a portion of that data would beprovided to a second end device that is a replacement cellular phoneshould the first end device become lost or malfunction. So in such anexample, while the data repository may contain two years of phone calllogs, the method might possibly only provide ten days of phone call logsto the second end device that is the replacement cellular phone.

The method may also store data on any one or more of the end devices.The method may then provide at least a portion of the stored data to oneor more of the data repositories. In one aspect, the method may provideat least a portion of the stored data to one or more of the datarepositories because the stored data on the end device is new to the enddevice. Data may be recognized as new to the end device because, merelyby way of example, it was created by a user of the end device and notprovided to the end device by another end device or data repository. Byway of another example, data may be recognized as new to the end devicebecause it is or is not flagged within certain metadata. Multiplemethods, known in the art, may be used within the scope of the inventionto determine that data is new to the end device.

The method may store on one or more of the data repositories at least aportion of the data provided from the end device(s). Differing portionsof the data may possibly be stored on different data repositories. Themethod may provide at least a portion of the stored data to other enddevices besides the end device which provided the stored data. As above,the method may provide at least a portion of the stored data to otherend devices besides the end device which provided the stored databecause the stored data is recognized as being new to one or more datarepositories. Data may be recognized as new to any one data repositorybecause it came from an end device that provided the data because it wasnew on the end device. Multiple methods, known in the art, may be usedwithin the scope of the invention to determine that data is new to anyone of the data repositories. Data provided by the data repositories toend devices which did not originally provide the data may then be storedby the method on such end devices.

In some embodiments, a software program stored on a computer may consistof instructions executable by the computer to conduct one or more of theembodiments of the invention. The computer may or may not be integralwith any or all data repositories.

Merely by way of example, the end device may be a cellular phone, apersonal data assistant, a portable music player, a handheld computer, anotebook computer, a laptop computer, a desktop computer, a video gameconsole, a cable television receiver, and/or a satellite televisionreceiver. Connecting the end device with a data repository may occur ina variety of ways, including, but not limited to, an end device enteringa wireless phone network, an end device entering a wireless local areanetwork, an end device entering a wireless wide area network, an enddevice connecting with a wired phone network, an end device connectingwith a wired local area network, an end device connecting with a wiredwide area network, an end device connecting with a cable televisionnetwork, and/or an end device connecting with a satellite televisionnetwork.

The method may, in some cases, compare and/or provide only a portion ofany data. The portion of the data compared and/or provided by the methodmay possibly consist of an email header, a file name, a file size, afile type, and/or other descriptive information. Multimedia data in themethod may, merely by way of example, consist of a JPG, a GIF, a MPG, anAVI, a MP3, a M4A, and/or a WMA file. Multimedia data may also consistof any file that allows for storage of video, graphics, and/or audio.Non-multimedia data in the method may, merely by way of example, consistof calendar appointments, contacts, text, email, and/or settings. Othernon-multimedia data types possibly used by the method may consist offiles substantially constituted by text or numerical information to beviewed by a user.

In some embodiments the method may further consist of registering withone or more data repositories. Registering with a data repository maypossibly consist of purchasing a service plan with a service provider,opening an email account with a service provider, and/or storing data atthe data repository. In an exemplary embodiment, the method will alsoconsist of accessing the data repository with a web browser on an enddevice. In another exemplary embodiment, the comparison of data on theend device with data on the data repository may occur periodically. Suchcomparisons may occur without user intervention and/or at a variety ofintervals, including, but not limited to, every 30 seconds, everyminute, every 30 minutes, every hour, every 12 hours, or every day.

In some embodiments of the invention, the data repository may beconnected with a communication subsystem and further connected with atranslation subsystem. The communication subsystem may directcommunication with the data repository. The translation subsystem mytranslate communication with the data repository. In some embodiments,the data repository may be capable of performing these functions. Inother embodiments, these, or other functions, may not be necessary forthe method.

In an embodiment with at least two data repositories, numeroustechniques may be employed to connect the end device with all datarepositories. In some embodiments, the method may connect the end devicewith a first data repository, connect the first data repository with asecond data repository, and connect the end device with the second datarepository through the connection made between the first data repositoryand the second data repository. Connecting the end device with thesecond data repository through the connection made between the firstdata repository and the second data repository may consist of acommunication between the end device and the first data repository, acommunication between the first data repository and the second datarepository based on the communication between the end device and thefirst data repository, and a communication between the first datarepository and the end device based on the communication between thefirst data repository and the second data repository.

In some embodiments the method may authenticate the user of the enddevice. Multiple techniques of authenticating the user are possible.Merely by way of example, the method may receive a user name andpassword and verify that the user name and password are associated withdata associated with the user. In other embodiments, the method mayreceive a GSM SIM card number associated with an end device. The methodmay then verify that the GSM SIM card number is associated with the enddevice associated with the user.

Referring now to FIG. 1, one system 100 with the ability to implementone embodiment of the invention is shown. The system consists of enddevices 110, 120 shown here as a cellular phone and a notebook computer,respectively. Though end devices 110, 120 are shown as a cell phone anda notebook computer, other end devices, as discussed above, may be usedin the system. In this embodiment, the system also includes a datahandling system 130. The data handling system 130 may consist of a datarepository 132 connected with a communication subsystem 134 and atranslation subsystem 136. The translation subsystem 136 may translateany communication with the data repository 132 that requires translationso that the end devices 110, 120 or the data repository 132 may utilizethe communication. The communication subsystem 134 may directcommunication with the data repository 132 in embodiments where the datarepository 132 is not independently capable of directing suchcommunication.

FIG. 1 also shows a first connection 140 between end device 110 andtranslation subsystem 136, and a second connection 150 between enddevice 120 and translation subsystem 136. The first connection 140 maybe made over a first network 160. In this particular example, the firstnetwork 160 may be a cellular phone network. The second connection 150may be made over a second network 170. In this particular example, thesecond network 170 may be a wireless local area network. The means ofcommunications between the end devices 110, 120 and the data handlingsystem 130 may consist of other wired or wireless networks known in theart as described above. In some embodiments, the first network 160 andthe second network 170 may be the same network. For example, end devices110, 120 in some embodiments may be a desktop computer and a laptopcomputer. In such an example, both end devices 110, 120 may connect withthe translation subsystem 136 over the same wired local area network.Any network or system used for communication may also be a proprietarysystem known in the art such as those employed by GoodLink™,BlackBerry™, DirecTV™ or Dish Network™. Another exemplary architecturefor implementing the invention can be found in U.S. patent applicationSer. No. 11/255,089 filed Oct. 19, 2005 and entitled “Cross-PlatformSupport for a Variety of Media Types[,]” the content of which isincorporated herein by reference.

The system shown in FIG. 1 may be used to implement one possibleembodiment of the invention. For example, a user may store data on enddevice 110. End device 110 may create connection 140 with translationsubsystem 136 across network 160. The method may then compare data onend device 110 with data on data repository 132 by communicating throughcommunication subsystem 134. The method may provide data from end device110 to data repository 132 if the comparison reveals that data on enddevice 110 is not present or is outdated on data repository 132.Likewise, the user may later use end device 120. End device 120 maycreate connection 150 with translation subsystem 136 across network 170.The method may compare data on end device 120 with data on datarepository 132 by communicating through communication subsystem 134. Themethod may then provide data stored on data repository 132 to end device120 if the comparison reveals that data on data repository 132 is notpresent or is outdated on end device 120. In this manner, the method hasprovided synchronization between the two end devices 110, 120 and datarepository 132.

Referring to FIG. 2, a system 200 with the ability to implement anotherembodiment of the invention is shown. The system 200 consists of enddevices 110, 120 shown here as a cellular phone and a notebook computer,respectively. Though the end devices 110, 120 are shown as a cell phoneand a notebook computer, other end devices, as discussed above, may beused in the system. In this embodiment, the system also includes a firstdata handling system 130 and a second data handling system 210. Datahandling systems 130, 210 may consist of data repositories 132, 212connected with communication subsystems 134, 214 and translationsubsystems 136, 216. Translation subsystems 136, 216 may translate anycommunication with data repositories 132, 212 that require translationso that end devices 110, 120 or data repositories 132, 212 may utilizethe communication. Communication subsystems 134, 214 may directcommunication with data repositories 132, 212 in embodiments where datarepositories 132, 212 are not independently capable of directing suchcommunication.

FIG. 2 also shows a first connection 140 between end device 110 and thefirst data handling system 130, a second connection 150 between enddevice 120 and the second data handling system 210, and a thirdconnection 220 between the first data handling system 130 and the seconddata handling system 210. The first connection 140 may be made over afirst network 160. In this particular example, the first network 160 maybe a cellular phone network. The second connection 240 may be made overa second network 170. In this particular example, the second network 170may be a wireless local area network. The third connection 220 may bemade over a third network 230. In this particular example, the thirdnetwork 230 may be the internet or other wired wide area network. Themeans of communications between any one or more of end devices 110, 120and data handling systems 130, 210 may consist of other wired orwireless networks known in the art as described above. In someembodiments, any one or more of the described networks may also be thesame network. Merely by way of example, end devices 110, 120 in someembodiments may be a desktop computer and a notebook computer. In suchan example, both devices may connect with translation systems 136, 216over the same wired local area network. Any network or system used forthese communications may also be a proprietary system or otherarchitecture as described above.

The system shown in FIG. 2 may be used to implement one possibleembodiment of the invention. For example, a user may store data on enddevice 110. End device 110 may then create connection 140 withtranslation subsystem 136 across network 160. The method may comparedata on end device 110 with data on data repository 132 by communicatingthrough communication subsystem 134. The method may provide data fromend device 110 to data repository 132 if the comparison reveals thatdata on end device 110 is not present or is outdated on data repository132. Likewise, the user may later store data on end device 120. Enddevice 120 may create connection 240 with translation subsystem 216across network 170. The method may compare data on end device 120 withdata on data repository 212 by communicating through communicationsubsystem 214. The method may provide data stored on end device 120 todata repository 212 if the comparison reveals that data on end device120 is not present or is outdated on data repository 212. Furthermore,in this embodiment, second data handling system 210 may communicate withfirst data handling system 130 and compare data on end device 120 withdata on data repository 132. The method may provide data from datarepository 132 to end device 120 if the comparison reveals that data ondata repository 132 is not present or is outdated on end device 120.

FIG. 3 is a block diagram illustrating an exemplary computer system inwhich embodiments of the present invention may be implemented. Thisexample illustrates a computer system 300 such as may be used, in whole,in part, or with various modifications, to provide the functions of theend devices, the translation subsystems, the communication subsystems,the data repositories, and/or other system providing function such asthose discussed above.

The computer system 300 is shown comprising hardware elements that maybe electrically coupled via a bus 390. The hardware elements may includeone or more central processing units (CPUs) 310, one or more inputdevices 320 (e.g., a mouse, a keyboard, etc.), and one or more outputdevices 330 (e.g., a display device, a printer, etc.). The computersystem 300 may also include one or more storage device 340. By way ofexample, storage device(s) 340 may be disk drives, optical storagedevices, solid-state storage device such as a random access memory(“RAM”) and/or a read-only memory (“ROM”), which can be programmable,flash-updateable and/or the like.

The computer system 300 may additionally include a computer-readablestorage media reader 350, a communications system 360 (e.g., a modem, anetwork card (wireless or wired), an infra-red communication device,etc.), and working memory 380, which may include RAM and ROM devices asdescribed above. In some embodiments, the computer system 300 may alsoinclude a processing acceleration unit 370, which can include a DSP, aspecial-purpose processor and/or the like.

The computer-readable storage media reader 350 can further be connectedto a computer-readable storage medium, together (and, optionally, incombination with storage device(s) 340) comprehensively representingremote, local, fixed, and/or removable storage devices plus storagemedia for temporarily and/or more permanently containingcomputer-readable information. The communications system 360 may permitdata to be exchanged with a network and/or any other computer describedabove with respect to the system 300.

The computer system 300 may also comprise software elements, shown asbeing currently located within a working memory 380, including anoperating system 384 and/or other code 388. It should be appreciatedthat alternate embodiments of a computer system 300 may have numerousvariations from that described above. For example, customized hardwaremight also be used and/or particular elements might be implemented inhardware, software (including portable software, such as applets), orboth. Further, connection to other computing devices such as networkinput/output devices may be employed.

Software of computer system 300 may include code 388 for implementingany or all of the function of the various elements of the architectureas described herein. For example, software, stored on and/or executed bya computer system such as system 300, can provide the functions of theend devices, the translation subsystems, the communication subsystems,and/or the data repositories. Methods implementable by software on someof these components will be further discussed below.

In FIG. 4, one possible method 400 of the invention is shown. The method400 may consist of storing data 410 on an end device. Multipletechniques exist for performing such a step. Merely by way of example, auser may use various input devices such as a digital camera, keypad,mouse, and/or keyboard to store data onto an end device. A user may alsouse a network connection or media reader to store data onto the enddevice. Other systems may also automatically, or at a user's direction,store data on the end device. Merely by way of example, a cellular phonenetwork may deliver text and/or graphical messages to a cellular phoneand store such data thereon. Other networks may deliver content at theuser's request, possibly due to a purchase by the user.

The method 400 may further consist of connecting the end device with thedata repository 420. Merely by way of example, a cellular phone mayenter a wireless phone network, wherein the wireless phone network mayconnect the cellular phone with the data repository; a handheld computermay enter a wireless phone network and connect with a proprietarynetwork, wherein either the wireless phone network or the proprietarynetwork may connect the handheld computer with the data repository; or avideo game console may connect with a wired local area network, whereinthe wired local area network may connect the video game console with thedata repository.

The method 400 may compare data 430 on the end device with the data onthe data repository to determine if data is more recent on the enddevice or the data repository. The method may, in other embodiments,recognize that data at the end device is new and not compare data 430 onthe end device with the data on the data repository. Data may berecognized as new possibly because the data was created at the enddevice. Merely by way of example, a photo taken with an end device thatis a cellular phone would be recognized as new when the photo was takenwith the cellular phone. The method 400 may furthermore provide data 440from the end device to the data repository or from the data repositoryto the end device, possibly based upon the comparison of the data orrecognition that the data is new at the end device. In some embodimentsa user may define the criteria for determining when and what data toprovide from the end device to the data repository or from the datarepository to the end device. Merely by way of example, a user may setcriteria that no new multimedia data over a certain size may be providedto a particular end device. Other possible criteria may include notallowing a data repository to provide data to an end device if thedifference in the age of the data is less than a certain period of time.

In FIG. 5, one possible composition of data 500 is shown. Data 500 maypossibly consist of multimedia data 510 and non-multimedia data 520.Both multimedia data 510 and non-multimedia data 520 may further consistof data header information 515, 525. Data header information 515, 525may describe or characterize the multimedia data 510 and non-multimediadata 520. Data header information 515, 525 may consist of an emailheader, a file name, a file size, a file type, and/or other descriptiveinformation. Multimedia data 510 may consist of any one or more JPG,GIF, MPG, AVI, MP3, M4A and/or WMA files. Non-multimedia data 520 may,merely by way of example, consist of any one or more calendarappointments, contacts, text, email and/or settings.

FIG. 6 illustrates one possible embodiment of the invention. In onepossible example, a user may register with a data repository 605 bypurchasing a cellular phone and a service contract with a cellular phoneservice provider. The user may thereafter store data on the cellularphone 610. Merely for the purposes of this example, the user may storethree non-multimedia contacts consisting of a name and a phone number ineach contact, a multimedia JPG file consisting of an image taken withthe cellular phone's camera, and a multimedia MP3 file consisting of aring-tone downloaded to the cellular phone through a computer patchcable. When the user enters a wireless phone network 615 after storingthis data, the cellular phone may connect with the network 620 byregistering with the network. The cellular phone may also connectthrough the network with a data repository 625.

Once connected with the data repository, the cellular phone may transmitits GSM SIM Card Number and the data repository, or a system incommunication therewith, may receive this authentication information630. The data repository, or the system in communication therewith, mayverify this information 635 before allowing any further activity. Afterauthentication has occurred, the repository, or the system incommunication therewith, may compare data 640 on the cellular phone withdata on the data repository to determine if any data is more current ordoes not exist on either the cellular phone or the data repository.

In this example, it may be determined that the two non-multimediacontacts, the multimedia JPG file and the multimedia MP3 file are notlocated on the data repository. The cellular phone may provide theaforementioned data to the data repository 650, therefore synchronizingthe data on the data repository with the data on the cellular phone.

Continuing with FIG. 6 and this example, the user may later use anotebook computer. The computer may have a wireless networking card andenter into a wireless local area network 615. The notebook computer mayconnect with the wireless local area network 620 and connect with thedata repository 625. The user may then open a web browser on thenotebook computer and access a web page which may be a portal to thecontents of the data repository. The data repository, or a system incommunication therewith, may request authentication in the form of ausername and password. The user may enter the appropriate informationinto the notebook computer and the data repository, or the system incommunication therewith, may receive that information 630. The datarepository or system may verify the authentication information 635 andallow the user to view the data on the data repository through the webpage portal. In this example, and in this embodiment, the user couldview the three contacts, the JPG file and the MP3 file that werepreviously provided to the data repository from the cellular phone.

Instead of accessing the data repository through the web page portal, insome embodiments the user with the notebook computer may enter awireless local area network 615 and connect with the network 620. Thenotebook computer may thereafter, periodically, and without userintervention, connect to the data repository 625, compare data 640, andprovide data 650 between the cellular phone and the notebook computer asnecessary to synchronize the data on each. The data repository or asystem in communication therewith may receive authentication information630 and verify the authentication information 635 during such a process.In this example, and in this embodiment, the method might provide thenotebook computer with the three contacts, the JPG file and the MP3 filethat were previously provided to the data repository from the cellularphone.

If the user of the notebook computer in this example, using this orpossibly other embodiments, inputs two non-multimedia contacts using thenotebook computer's keyboard and also uploads a multimedia MPG fileconsisting of a video, possibly from the notebook computer's CD-ROM orinternet connection, the following may occur: during the next comparisonof data 640 the method may determine that the two contacts and the MPGfile present on the notebook computer are not present on the datarepository; the method may then provide this data 650 to the datarepository, thereby synchronizing the notebook computer and the datarepository. An alternative possibility is that no comparison of the data640 may occur. The method may in this circumstance recognize that thetwo contacts and the MPG file are new data and provide the data 650 tothe data repository, thereby synchronizing the notebook computer and thedata repository.

If the user in this example, and in this embodiment, then accesses thecellular phone mentioned previously, the cellular phone, if stillconnected with a wireless phone network and further connected with thedata repository, may at some time compare data 640 with the datarepository. Based on such comparison, this embodiment of the inventionmay provide data header information 645 and data 650 from the datarepository to the cell phone. As above, the method may not compare thedata 640 on the repository with the data on the cellular phone, but maymerely recognize that there is new data on the data repository which didnot originate from the cellular phone and provide data headerinformation 645 and data 650 from the data repository to the cell phone.In the present example, the embodiment may provide the data 650 of thetwo new contacts on the data repository to the cellular phone, but onlyprovide data header information 645 for the MPG file if the methoddetermines that characteristics of the system practicing the method meanthat it will be inefficient to provide the entire MPG file to thecellular phone. The data header information in this example mayconstitute a file name, a file size, or a file type. A user may, afterevaluating the data header information, possibly override the method'sdecision and instruct the system to provide the entire MPG file to thecellular phone.

At this point, in the example described, the cellular phone may havestored on it five contacts, one JPG file, one MP3 file, and data headerinformation of one MPG file, if not the MPG file in its entirety; thedata repository may have stored on it five contacts, one JPG file, oneMP3 file and one MPG file; and the notebook computer may have storedfive contacts, one JPG file, one MP3 file and one MPG file. It isthereby shown, in this embodiment, and in this example, how the methodmay provide synchronization of multiple end devices and a datarepository. Use of other embodiments of the invention may allow forsynchronization of multiple data repositories as well.

In the foregoing description, for the purposes of illustration, methodswere described in a particular order. It should be appreciated that inalternate embodiments, the methods may be performed in a different orderthan that described. It should also be appreciated that the methodsdescribed above may be performed by hardware components or may beembodied in sequences of machine-executable instructions, which may beused to cause a machine, such as a general-purpose or special-purposeprocessor or logic circuits programmed with the instructions to performthe methods. These machine-executable instructions may be stored on oneor more machine readable mediums, such as CD-ROMs or other type ofoptical disks, floppy diskettes, ROMs, RAMs, EPROMs, EEPROMs, magneticor optical cards, flash memory, or other types of machine-readablemediums suitable for storing electronic instructions. Alternatively, themethods may be performed by a combination of hardware and software.

The invention has now been described in detail for purposes of clarityand understanding. However, it will be appreciated that certain changesand modifications may be practiced within the scope of the appendedclaims.

What is claimed is:
 1. A method for synchronizing an end devicecomprising: storing data on an end device, wherein the data is comprisedof multimedia data and non-multimedia data; connecting the end devicewith at least two data repositories over a first wireless network,without user interaction, in response to the end device entering thefirst wireless network, each of the at least two data repositories beingseparate from each other and in communication over a second wirelessnetwork different from the first, each of the at least two datarepositories also being separate from the end device and directlyaccessible by the end device over the first wireless network;translating, via respective translation subsystems of the at least twodata repositories, communications from the end device to either of theat least two data repositories, wherein translated communications arecapable of being utilized by each of the at least two data repositories;translating, via the translation subsystems of the at least two datarepositories, communications between the at least two data repositoriesover the second wireless network, wherein translated communications arecapable of being utilized by each of the at least two data repositoriesreceiving the communications; comparing at least a portion of the dataon the end device with at least a portion of the data on each of the atleast two data repositories to determine if at least a portion of thedata is more recent on the end device or on either of the at least twodata repositories; and receiving at least a portion of the multimediadata from the end device at one or more of the at least two datarepositories, based at least in part upon a determination from thecomparison of the data that the at least a portion of the multimediadata is more recent on the end device.
 2. The method, as in claim 1,wherein the end device comprises at least one of: a cellular phone; apersonal data assistant; a portable music player; a handheld computer; anotebook computer; a laptop computer; a desktop computer; a video gameconsole; a cable television receiver; or a satellite televisionreceiver.
 3. The method, as in claim 1, wherein the first wirelessnetwork is selected from the group consisting of: a wireless phonenetwork; a wireless local area network; a wireless wide area network;and a satellite television network.
 4. The method, as in claim 1,wherein the portion of the data comprises data header information. 5.The method, as in claim 4, wherein data header information comprises atleast one of: an e-mail header; a file name; a file size; or a filetype.
 6. The method, as in claim 1, wherein multimedia data comprises atleast one of: a JPG file; a GIF file; a MPG file; an AVI file; a MP3file; a M4A file; a M4P file; or a WMA file.
 7. The method, as in claim1, wherein non-multimedia data comprises at least one of: calendarappointments; contacts; text; e-mail; or settings.
 8. The method, as inclaim 1, further comprising registering with one or more of the at leasttwo data repositories.
 9. The method, as in claim 8, wherein registeringwith the one or more of the at least two data repositories comprises atleast one of: purchasing a service plan from a service provider; openingan e-mail account with a service provider; or storing data at the one ormore of the at least two data repositories.
 10. The method, as in claim1, further comprising accessing the at least two data repositories witha web browser on an end device.
 11. The method, as in claim 1, whereincomparing data on the end device with data on the at least two datarepositories occurs periodically.
 12. The method, as in claim 1, whereincomparing data on the end device with data on the at least two datarepositories occurs without user intervention.
 13. The method, as inclaim 1, wherein each of the at least two data repositories is connectedwith a communication subsystem and a translation subsystem, and whereinthe communication subsystem directs at least a portion of anycommunication with each of the at least two data repositories, andwherein the translation subsystem translates at least a portion of anycommunication with each of the at least two data repositories.
 14. Themethod, as in claim 1, wherein connecting the end device with at leasttwo data repositories comprises: connecting the end device with a firstdata repository; connecting the first data repository with a second datarepository; and connecting the end device with the second datarepository through the connection made between the first data repositoryand the second data repository.
 15. The method, as in claim 14, whereinconnecting the end device with the second data repository through theconnection made between the first data repository and the second datarepository comprises: a communication between the end device and thefirst data repository; a communication between the first data repositoryand the second data repository based at least in part on thecommunication between the end device and the first data repository; anda communication between the first data repository and the end devicebased at least in part on the communication between the first datarepository and the second data repository.
 16. A system forsynchronizing an end device, comprising: an end device that stores datacomprising multimedia data and non-multimedia data; a first datarepository separate from the end device and in communication with theend device over a first wireless network, the first data repositorydirectly accessible by the end device over the first wireless network,wherein the first data repository includes a first translationsubsystem, the first translation subsystem translating communicationsbetween the first data repository and the end device; and a second datarepository separate from the first data repository and the end deviceand in communication with the first data repository over a secondwireless network different from the first, the second data repositorydirectly accessible by the end device over the first wireless network,wherein the second data repository includes a second translationsubsystem, the second translation subsystem translating communicationsbetween the second data repository and at least one of the end deviceand first data repository; wherein the first translation subsystemfurther translates communications between the first data repository andsecond data repository, wherein translated communications are capable ofbeing utilized by the end device, first data repository, or second datarepository receiving the communications, wherein the at least a portionof the data on the end device is compared with at least a portion of thedata on each of the first and second data repositories to determine ifat least a portion of the data is more recent on the end device or oneither of the first and second data repositories, and wherein at least aportion of the multimedia data from the end device is received by atleast one of the first or second data repositories, based at least inpart upon the comparison of the data.
 17. The system, as in claim 16,wherein the end device comprises at least one of: a cellular phone; apersonal data assistant; a portable music player; a handheld computer; anotebook computer; a laptop computer; a desktop computer; a video gameconsole; a cable television receiver; or a satellite televisionreceiver.
 18. The system, as in claim 16, wherein the portion of thedata comprises data header information comprising at least one of: ane-mail header; a file name; a file size; or a file type.
 19. The system,as in claim 16, wherein multimedia data comprises at least one of: a JPGfile; a GIF file; a MPG file; an AVI file; a MP3 file; a M4A file; a M4Pfile; or a WMA file.
 20. The system, as in claim 16, whereinnon-multimedia data comprises at least one of: calendar appointments;contacts; text; e-mail; or settings.